package com.ktg.mes.md.service;

import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ktg.mes.md.domain.MesScalesOrderItem;
import com.ktg.mes.util.LService;

/**
 * 销售订单产品Service接口
 *
 * @author byteco
 * @date 2022-09-01
 */
public interface IMesScalesOrderItemService extends LService<MesScalesOrderItem>
{
    /**
     * 查询销售订单产品
     *
     * @param id 销售订单产品主键
     * @return 销售订单产品
     */
    public MesScalesOrderItem getInfo(String id);

    /**
     * 查询销售订单产品列表
     *
     * @param entity 销售订单产品
     * @param page 分页对象
     * @return 销售订单产品集合
     */
    public IPage<MesScalesOrderItem> queryPageList(MesScalesOrderItem entity, Page<MesScalesOrderItem> page);

    /**
     * 查询销售订单产品
     *
     * @param entity 销售订单产品
     * @return 销售订单产品
     */
    public List<MesScalesOrderItem> queryList(MesScalesOrderItem entity);

    /**
     * 新增销售订单产品
     *
     * @param entity 销售订单产品
     * @return 结果
     */
    public void insert(MesScalesOrderItem entity);

    /**
     * 修改销售订单产品
     *
     * @param entity 销售订单产品
     * @return 结果
     */
    public boolean update(MesScalesOrderItem entity);

    /**
     * 批量删除销售订单产品
     *
     * @param scalesOrderItemIds 需要删除的销售订单产品主键集合
     * @return 结果
     */
    public boolean delete(String[] scalesOrderItemIds);

    /**
     * 删除销售订单产品信息
     *
     * @param scalesOrderItemId 销售订单产品主键
     * @return 结果
     */
    public boolean delete(String scalesOrderItemId);

    /**
     * 排产，生产，完成数量统计
     * @param scalesOrderItemId
     * @param scheduling
     * @param product
     * @param complete
     */
    public void addCount(String  scalesOrderItemId,Double scheduling,Double product,Double complete);


}
